+2008-02-12 Federico Mena Quintero <federico@novell.com>
+
+ Merged from gtk-2-12:
+
+ Don't focus the file list when shortcuts get activated. This
+ removes a lot of ambiguity in when the file selection should
+ change, and makes the overall code flow simpler.
+
+ This fixes http://bugzilla.gnome.org/show_bug.cgi?id=419737 -
+ file/save dialog clears the filename entry when changing
+ directories.
+
+ Also fixes http://bugzilla.gnome.org/show_bug.cgi?id=499940 -
+ focus should not go to the file list when a shortcut is activated.
+
+ * gtk/gtkfilechooserdefault.c
+ (shortcuts_activate_volume_mount_cb): Don't focus the file list
+ (shortcuts_activate_get_info_cb): Likewise.
+
+ * gtk/gtkfilechooserdefault.c (switch_to_shortcut): Don't focus
+ the file list (this was the last place where we would focus the
+ file list explicitly). If you are in the location entry, for
+ example, you don't want Alt-Home to take you to the file list; you
+ just want the current folder to change. Thanks to Olle Bergkvist
+ <olle.bergkvist@yahoo.se> for pointing this out in
+ http://bugzilla.gnome.org/show_bug.cgi?id=419737#c51.
+ (focus_browse_tree_view_if_possible): Removed.
+
2008-02-12 Matthias Clasen <mclasen@redhat.com>
Skip exensions when selecting filenames in the save-as dialog.
}
}
-/* Gives the focus to the browse tree view only if it is visible */
-static void
-focus_browse_tree_view_if_possible (GtkFileChooserDefault *impl)
-{
- gboolean do_focus;
-
- if ((impl->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
- impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
- && !gtk_expander_get_expanded (GTK_EXPANDER (impl->save_expander)))
- do_focus = FALSE;
- else
- do_focus = TRUE;
-
- if (do_focus)
- gtk_widget_grab_focus (impl->browse_files_tree_view);
-}
-
static void
action_create_folder_cb (GtkFileSystemHandle *handle,
const GtkFilePath *path,
if (path != NULL)
{
change_folder_and_display_error (impl, path, FALSE);
- focus_browse_tree_view_if_possible (impl);
gtk_file_path_free (path);
}
goto out;
if (!error && gtk_file_info_get_is_folder (info))
- {
- change_folder_and_display_error (data->impl, data->path, FALSE);
- focus_browse_tree_view_if_possible (data->impl);
- }
+ change_folder_and_display_error (data->impl, data->path, FALSE);
else
gtk_file_chooser_default_select_path (GTK_FILE_CHOOSER (data->impl),
data->path,
g_assert_not_reached ();
shortcuts_activate_iter (impl, &iter);
- focus_browse_tree_view_if_possible (impl);
}
/* Handler for the "home-folder" keybinding signal */